Viterbi decoders are well understood in the art. Such decoders function to reliably recover a data stream of symbols, which symbols can represent one or more bits of information. Viterbi decoders typically function to mathematically manipulate state and branch metrics in order to recover the most likely original symbols. Also typically, each iteration in the Viterbi calculation process will involve a number of addition steps, comparison steps, and selections steps, which addition, comparison, and selections steps are accomplished in a sequential process.
Fast Viterbi decoders typically comprise dedicated hardware platforms, as versus agile software programmable platforms, as the iterative Viterbi calculations can typically be effected more rapidly, at a reasonable cost, in a dedicated hardware platform. Because of the sequential nature of the addition, comparison, and selection steps, hardware solutions, while fast, are not always fast enough to suit all present needs with respect to speed of calculations.